App.injury.Component.System.Category = function(config) {

	var me = this;
	var sm = new Ext.grid.CheckboxSelectionModel();
	App.injury.Component.System.Category.superclass.constructor.call(this, Ext
			.apply({
				xtype : 'fwgrid',
				sm : sm,
				border : false,
				tbar : [ {
					text : '新增',
					iconCls : 'add',
					handler : function() {
						me.getWindow({
							title:'新增项目类别',
							actionType:'ADD',
							fieldValues:{}
						}).show();
					}
				}, {
					text : '修改',
					iconCls : 'update',
					handler : function() {

						var sm = me.getSelectionModel();
						var records = sm.getSelections();
						if(records.length == 0){
							Ext.Msg.show({
								title : '系统提示',
								msg : '请选择要修改的项目类别.',
								buttons : Ext.MessageBox.OK,
								icon : Ext.MessageBox.INFO
							});
							return false;
						}
						var fieldValues = {},json = records[0].json;
						for(var v in json){
							fieldValues['entity.'+v] = json[v];
						}
						me.getWindow({
							title:'修改项目类别',
							actionType : 'UPDATE',
							fieldValues:fieldValues
						}).show();
					
					}
				}, {
					text : '删除',
					iconCls : 'delete',
					handler : function() {
						var sm = me.getSelectionModel();
						var records = sm.getSelections();
						if(records.length === 0){
							Ext.Msg.show({
								title : '系统提示',
								msg : '请选择要删除的项目类别.',
								buttons : Ext.MessageBox.OK,
								icon : Ext.MessageBox.INFO
							});
							return false;
						}
						var idArr = [];
						for(var i = 0 ;i<records.length; i++){
							idArr.push(records[i].id);
						}
						Ext.Msg.confirm('系统提示','确定删除选中的项目类别?',
						 function(btn) {
							if (btn == 'ok' || btn == 'yes') {
							Ext.Ajax.request({
										url : 'system/category!delete.action',
										method : 'POST',
										params : {'entity.id' : idArr.join(',')},
										success : function(response,opts) {
											me.getStore().reload();
										},
										failure : function() {}
									});
							}
						});
					
					
					}
				} ],
				cm : new Ext.grid.ColumnModel([ sm, {
					header : '类别名称',
					dataIndex : 'cateName',
					width : 200,
					sortable : true
				}, {
					header : '类别编码',
					dataIndex : 'cateCode',
					width : 220,
					sortable : true
				}, {
					header : '项目类型',
					dataIndex : 'cateType',
					width : 100,
					sortable : true,
					renderer:function(v){
						if(v == 1){
							return "功能项目";
						}
						if(v == 2){
							return "检查项目";
						}
						if(v == 3){
							return "检验项目";
						}
					}
				}, {
					header : '拼音简码',
					dataIndex : 'pyjm',
					width : 100,
					sortable : true
				}, {
					header : '五笔简码',
					dataIndex : 'wbjm',
					width : 120,
					sortable : true
				}, {
					header : '自定义码',
					dataIndex : 'zdym',
					width : 150,
					sortable : true
				}, {
					header : '序号',
					dataIndex : 'order',
					width : 150,
					sortable : true
				}, {
					header : '修改日期',
					dataIndex : 'modifyDate',
					width : 150,
					sortable : true
				} ]),
				store : new Ext.data.Store({
					proxy : new Ext.data.HttpProxy({
						url : 'system/category!list.action'
					}),
					reader : new Ext.data.JsonReader({}, [ {
						name : "cateName",
					}, {
						name : "cateCode"
					}, {
						name : "cateType"
					}, {
						name : "pyjm"
					}, {
						name : "wbjm"
					}, {
						name : "zdym"
					}, {
						name : "order"
					}, {
						name : "modifyDate"
					} ])
				})

			}, config || {}));
	me.getStore().load();

};

Ext.extend(App.injury.Component.System.Category, App.injury.Component.FWGrid, {
	getWindow : function(config) {

		var me = this;
		return new App.injury.Component.FWWindow({
			height : 255,
			width : 300,
			title : config.title,
			autoScroll : false,
			layout : 'fit',
			tbar : [ {
				text : '保存',
				iconCls:'save',
				handler : function() {
					var _window = this.ownerCt.ownerCt;
					var form = _window.getComponent(0).getForm();
					var url = null;
					if(config.actionType === 'ADD'){
						url = 'system/category!save.action';
					}else{
						url = 'system/category!update.action';
					}
					form.submit({
						method : 'post',
						url: url,
						success:function(){
							_window.close();
							me.getStore().reload();						
						}
					});
				}
			}, {
				text : '退出',
				iconCls:'exit',
				handler : function() {
					this.ownerCt.ownerCt.close();
				}
			} ],
			items : {
				xtype : 'fwform',
				autoScroll : false,
				listeners : {
					render : function(){
						this.getForm().setValues(config.fieldValues);
					}
				},
				items : [ {
					name : 'entity.id',
					xtype : 'hidden'
				},{
					allowBlank : false,
					xtype : 'textfield',
					anchor : '90%',
					name : 'entity.cateName',
					fieldLabel : '类别名称'
				}, {
					allowBlank : false,
					xtype : 'textfield',
					anchor : '90%',
					name : 'entity.cateCode',
					fieldLabel : '类别编码'
				}, {
					anchor : '90%',
					allowBlank : false,
					name : 'entity.cateType',
					hiddenName : 'entity.cateType',
					fieldLabel : '项目类型',
					displayField:'text',
					valueField:'value',
			        typeAhead: true,
			        xtype:'combo',
					store:new Ext.data.ArrayStore({
					    fields: ['text', 'value'],
					    data : [['功能项目',1],['检查项目',2],['检验项目',3]]
					}),
			        mode: 'local',
			        editable:false,
			        triggerAction: 'all'
						
				}, {
					xtype : 'textfield',
					anchor : '90%',
					name : 'entity.pyjm',
					fieldLabel : '拼音简码'
				}, {
					xtype : 'textfield',
					anchor : '90%',
					name : 'entity.wbjm',
					fieldLabel : '五笔简码'
				}, {
					xtype : 'textfield',
					anchor : '90%',
					name : 'entity.zdym',
					fieldLabel : '自定义码'
				}, {
					xtype : 'numberfield',
					allowBlank : false,
					anchor : '45%',
					minValue : 1,
					maxValue : 100,
					name : 'entity.order',
					fieldLabel : '序号'
				} ]
			}

		});
	
	}
});